CALCULATETABLE দিয়ে Complex Table Calculations

Big Data and Analytics - ড্যাক্স ফাংশন (Dax Functions) - Advanced Calculations
171

DAX (Data Analysis Expressions) একটি শক্তিশালী এক্সপ্রেশন ভাষা যা Power BI, Excel, এবং SQL Server Analysis Services (SSAS)-এ ব্যবহৃত হয়। DAX ফাংশনগুলি বিশেষভাবে data modeling এবং complex calculations এর জন্য ডিজাইন করা হয়েছে। তাদের মধ্যে একটি গুরুত্বপূর্ণ ফাংশন হলো CALCULATETABLE, যা বিভিন্ন টেবিলের উপর complex table calculations বা টেবিল বিশ্লেষণ করতে ব্যবহৃত হয়। এই ফাংশনটির মাধ্যমে আপনি টেবিলের উপর কাস্টম ফিল্টার প্রয়োগ করতে পারেন এবং নির্দিষ্ট শর্তের ভিত্তিতে একটি নতুন টেবিল তৈরি করতে পারেন।

এই প্রবন্ধে, আমরা CALCULATETABLE ফাংশনটি কীভাবে কাজ করে এবং কীভাবে এটি complex table calculations করতে ব্যবহৃত হয় তা বিস্তারিতভাবে আলোচনা করব।


CALCULATETABLE ফাংশন কী?

CALCULATETABLE ফাংশনটি একটি টেবিল তৈরি করে যেখানে আপনি filter context পরিবর্তন করতে পারেন এবং একটি নতুন টেবিল তৈরি করতে পারেন। এটি সাধারণত CALCULATE ফাংশনের মতো কাজ করে, তবে এটি টেবিলের উপরে কাজ করে এবং তার ফলস্বরূপ একটি নতুন টেবিল ফিরিয়ে দেয়।

Syntax:

CALCULATETABLE(<table>, <filter1>, <filter2>, ...)
  • : আপনি যে টেবিলের উপর কাজ করতে চান।
  • , : একাধিক filters প্রয়োগ করতে পারেন, যেমন কলাম ফিল্টার, শর্তযুক্ত ফিল্টার ইত্যাদি।

CALCULATETABLE ফাংশনটি একটি টেবিল ফিরিয়ে দেয় যেখানে টেবিলের ডেটা ফিল্টার বা কাস্টম শর্ত অনুযায়ী পরিবর্তিত হয়।


CALCULATETABLE এর ব্যবহার

1. Basic Example: Filtering a Table

ধরা যাক, আপনার কাছে একটি Sales টেবিল রয়েছে, যেখানে ProductID, SalesAmount, এবং SalesDate কলাম রয়েছে। আপনি যদি চান যে SalesAmount 1000 এর বেশি হতে হবে এবং SalesDate 2021 সালের মধ্যে হতে হবে, তাহলে আপনি CALCULATETABLE ব্যবহার করতে পারেন।

Filtered Sales = CALCULATETABLE(
    Sales,
    Sales[SalesAmount] > 1000,
    YEAR(Sales[SalesDate]) = 2021
)

এখানে:

  • CALCULATETABLE ফাংশনটি Sales টেবিলটি ফিরিয়ে দেবে যেখানে SalesAmount 1000 এর বেশি এবং SalesDate 2021 সালের মধ্যে।

2. Complex Filtering with Multiple Conditions

যদি আপনি Sales টেবিলের জন্য একাধিক শর্ত প্রয়োগ করতে চান, যেমন, SalesAmount 1000 এর বেশি এবং Region "North" হতে হবে, তবে CALCULATETABLE ব্যবহার করা যেতে পারে:

Sales North = CALCULATETABLE(
    Sales,
    Sales[SalesAmount] > 1000,
    Sales[Region] = "North"
)

এটি Sales টেবিলের সমস্ত SalesAmount > 1000 এবং Region = "North" শর্ত পূর্ণ করা সারি ফিরিয়ে দেবে।


3. Using CALCULATETABLE with Aggregations

CALCULATETABLE ফাংশনটি SUM, AVERAGE, বা অন্যান্য aggregation ফাংশনগুলির সাথে ব্যবহার করা যেতে পারে। এইভাবে আপনি একটি নির্দিষ্ট শর্ত বা filter এর সাথে টেবিলের উপর সমষ্টি বা গড় হিসাব করতে পারেন।

ধরা যাক, আপনি Sales টেবিলের ProductID অনুযায়ী বিক্রয়ের মোট পরিমাণ বের করতে চান, তবে আপনি একটি নির্দিষ্ট Region এর উপর ফিল্টার প্রয়োগ করবেন:

Sales by Region = 
SUMX(
    CALCULATETABLE(
        Sales,
        Sales[Region] = "East"
    ),
    Sales[SalesAmount]
)

এখানে:

  • CALCULATETABLE ফাংশনটি শুধুমাত্র Sales[Region] = "East" শর্তে ডেটা নির্বাচন করবে।
  • তারপর, SUMX ফাংশনটি SalesAmount এর যোগফল বের করবে।

4. Handling Multiple Filters with CALCULATETABLE

CALCULATETABLE ফাংশনটি একাধিক ফিল্টার বা শর্ত ব্যবহারের জন্য খুবই কার্যকরী। আপনি একাধিক কলামের শর্ত একসাথে প্রয়োগ করতে পারেন।

ধরা যাক, আপনি চান যে Sales টেবিলের থেকে SalesAmount 1000 এর বেশি এবং Region "North" অথবা "South" হতে হবে, তখন আপনি CALCULATETABLE ফাংশনটি নিম্নলিখিতভাবে ব্যবহার করবেন:

Sales North or South = CALCULATETABLE(
    Sales,
    Sales[SalesAmount] > 1000,
    Sales[Region] IN {"North", "South"}
)

এটি Sales টেবিল থেকে এমন সমস্ত সারি ফিরিয়ে দেবে, যেখানে SalesAmount > 1000 এবং Region "North" বা "South"।


5. Using CALCULATETABLE with DISTINCT

আপনি CALCULATETABLE ফাংশনের সাথে DISTINCT ফাংশনও ব্যবহার করতে পারেন, যদি আপনি কেবল ইউনিক মান দেখতে চান। উদাহরণস্বরূপ, যদি আপনি চান Sales টেবিল থেকে শুধুমাত্র ProductID এর ইউনিক মান দেখতে, যেখানে বিক্রয়ের পরিমাণ 1000 এর বেশি:

Distinct Products = CALCULATETABLE(
    DISTINCT(Sales[ProductID]),
    Sales[SalesAmount] > 1000
)

এটি শুধুমাত্র সেই ProductID ফিরিয়ে দেবে, যেগুলোর SalesAmount 1000 এর বেশি।


CALCULATETABLE ফাংশনের সুবিধা

  • Filter Context: CALCULATETABLE ফাংশনটি filter context পরিবর্তন করতে সহায়ক। আপনি filters প্রয়োগ করতে পারেন এবং সেই অনুযায়ী টেবিলের ডেটা বিশ্লেষণ করতে পারেন।
  • Multiple Conditions: এটি একাধিক শর্ত বা ফিল্টার একসাথে প্রয়োগ করতে সক্ষম।
  • Aggregation: আপনি টেবিলের উপর aggregation ফাংশন প্রয়োগ করে কাস্টম ক্যালকুলেশন তৈরি করতে পারেন।
  • Flexible: এটি টেবিলের উপর জটিল শর্ত যুক্ত করে বিভিন্ন ধরনের কাস্টম ক্যালকুলেশন তৈরি করার জন্য অত্যন্ত উপকারী।

সারাংশ

CALCULATETABLE ফাংশনটি DAX-এ complex table calculations বা টেবিলের উপর কাস্টম ফিল্টার প্রয়োগের জন্য অত্যন্ত গুরুত্বপূর্ণ। এটি filter context পরিবর্তন করে এবং একাধিক শর্তের ভিত্তিতে একটি নতুন টেবিল তৈরি করতে সহায়ক। আপনি একাধিক filters, aggregations, বা distinct values ব্যবহার করে কাস্টম টেবিল তৈরি করতে পারেন, যা ব্যবসায়িক বিশ্লেষণ এবং রিপোর্টিংকে আরও শক্তিশালী করে তোলে। CALCULATETABLE একটি অত্যন্ত কার্যকরী টুল যা DAX-এ ডেটা বিশ্লেষণ ও মডেলিংয়ের জন্য গুরুত্বপূর্ণ ভূমিকা পালন করে।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...